#1、变量又称存储单元，它是程序在运行时向内存申请的一个存储空间，用于存储数据的
#2、变量具有4项属性：名字，值，类型，内存地址
# a=5             #将数值5存储(赋值)到一个名字叫a的存储单元中，在Python中称这个存储单元为“变量a”
# print(a)        #通过变量的名字，读取出变量的值
# print(type(a))  #通过type(变量名字)，读取出变量的类型，变量的类型决定于值的类型
# print(id(a))    #通过id(变量名字)，读取出变量的内存地址，计算机是通过内存地址找到变量在内存中所占的位置

#3、变量必须先赋值，再使用
    #如果变量不赋值就使用，会报错 NameError:name 'xxx' is not defined
# aaa>3

#4.1、取变量的值进行运算，不会改变变量的值
# a=50
# print(a+30)     #这里只是取a的值与30进行求和运算，不会改变a的值
# print(a)        #因此a还是50
#4.2、只有给变量赋值，才会改变变量的值
    #给变量赋值，变量会销毁原有值，存储新的值
# b=50
# b=b+3           #这里把b+3的运算结果赋值给了b,因此b的值发生了改变
# print(b)

#4.3、如何交换a和b的值？
# #错误做法
# a=5
# b=8
# a=b         #将b的值8赋值给a，a会销毁原有的5，存入8
# b=a         #将a的值8赋值给b，就是将8赋值给b
# print(a,b)
# #正确做法1
# a=5
# b=8
# a,b=b,a       #将b赋值给a的同时，将a赋值给b
# print(a,b)
# #正确做法2
# a=55
# b=88
# t=a
# a=b
# b=t
# print(a,b)

#5、对于Python中所有对象(包含变量)，都要求有统一的命名规则(必须背诵)
#1.严重区分大小写(变量a与变量A不是同一个变量)
#2.可以由字母、数字、下划线组成(例如__name1)
#3.不可以是数字开头(例如:123a_是不合法的)
#4.不可以是关键词(例如：True、print、type、python)
import keyword
print(keyword.kwlist)

